Takt: A read-eval-play-loop interpreter for a structural/procedural score language
نویسنده
چکیده
A new language for describing musical scores as well as its interpreter is developed. The language allows a concise description of note and chord sequences, and at the same time, it provides rich programming functionalities with Clike syntax, which are useful for algorithmic composition. Representing structures in music such as repetitive occurrences of a common phrase or its variation is supported with macros and phrase transformation modules. The interpreter enables us to execute its program code interactively with a read-eval-play loop. The interpreter can also be used for the real-time processing of MIDI events coming from input devices. The language is extensible in that C functions can be called from its program code.
منابع مشابه
footils – Using the foo Sound Synthesis System as an Audio Scripting Language
foo is a versatile non-realtime sound synthesis and composition system based on the Scheme programming language (Eckel and González-Arroyo, 1994; Rumori et al., 2004; Rumori, 2005). It is mainly used for sound synthesis and algorithmic composition in an interactive type-render-listen-loop (the musician’s read–eval–print-loop) or in conjunction with an editor like the inferior mode of emacs. Unl...
متن کاملReflective Software Engineering - From MOPS to AOSD
Reflective Programming has long been viewed as an elegant but academic subject that is of interest only to educators and researchers. The seminal work on Procedural Reflection by Brian Smith clearly articulated the benefits of allowing an executing program to have access to the underlying data structures and algorithms that govern its own computation [1]. The first implementation of the reflect...
متن کاملAn Incremental, Exploratory and Transformational Environment for the Lazy Functional Programming
Most programming environments for functional languages offer a single tool used to evaluate programs either a batch compiler or an interpreter with a read-eval-print loop. This paper presents a programming environment that supports not only evaluation, but also a range of other programming activities including transformation. The environment is designed to encourage working in an incremental an...
متن کاملThe Generation of a Higher-Order Online Partial Evaluator
We address the problem of generating an online partial evaluator for a higher-order, functional language from an appropriate interpreter using a state-of-the-art ooine partial evaluator. To ensure termination of the generated online spe-cializer the interpreter computes a self-embedding property on closure values and data structures. This guarantees termination whenever there is no static loop ...
متن کاملREAD-EVAL-PRINT in Parallel and Asynchronous Proof-checking
The LCF tradition of interactive theorem proving, which was started by Milner in the 1970-ies, appears to be tied to the classic READ-EVAL-PRINT-LOOP of sequential and synchronous evaluation of prover commands. We break up this loop and retrofit the read-eval-print phases into a model of parallel and asynchronous proof processing. Thus we explain some key concepts of the Isabelle/Scala approach...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014